
package cn.domypay.back.service;

import java.rmi.RemoteException;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

@WebService(name = "AuthImpl", targetNamespace = "http://localhost:8080/soa/services/IAuth")
@SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.BARE)
public interface AuthImpl {

	public final static String targetUrl = "http://localhost:8080/soa/services/IAuth";
	
	/**
	 * 用于请求一个认证令牌，在调用其他所有业务接口（API）时都需要使用认证令牌。
	 * 此服务接口在功能上等价于登录请求。
	 *
	 * @param strUserID      -- userId参数必须出现，表示省级库人口系统所授权的用户
	 * @param strPassword    -- password参数必须出现，表示了用户ID所对应的密码
	 * @return               -- 返回请求的认证令牌字符串
	 * @throws RemoteException
	 */
	@WebMethod(operationName = "requestAuthToken", action = "")
	@WebResult(name = "requestAuthTokenReturn", targetNamespace = targetUrl)
	public String requestAuthToken(
			@WebParam(name = "strUserDLid", targetNamespace = targetUrl)
			String strUserDLid,
			@WebParam(name = "strPassword", targetNamespace = targetUrl)
			String strPassword);
	
	/**
	 * 用于通知先前提供的认证令牌不再有效。当其他Web服务接口调用在省级库人口系统接受到本消息之后，
	 * 仍然收到这一认证令牌的使用，那么其他Web服务接口应当判断其为非法。
	 * 此服务接口在功能上等价于注销退出系统。
	 *
	 * @param strAuthInfo     -- authinfo参数是必需的，它是一个包含了认证令牌的元素
	 * @throws RemoteException
	 */
	@WebMethod(operationName = "discardAuthToken", action = "")
	public void discardAuthToken(
			@WebParam(name = "strAuthInfo", targetNamespace = targetUrl)
			String strAuthInfo);

}
